Proximity sample


Windows Runtime, Windows 8.1, Windows Phone 8.1
Devices and sensors, universal app
Windows RT
en-US
4/2/2014

This sample demonstrates how to use the PeerFinder, ProximityDevice, and PeerWatcher classes to communicate with nearby devices.

Note  This sample was created using one of the universal app templates available in Visual Studio. It shows how its solution is structured so it can run on both Windows 8.1 and Windows Phone 8.1. For more info about how to build apps that target Windows and Windows Phone with Visual Studio, see Build apps that target Windows and Windows Phone 8.1 by using Visual Studio.

You can use the Windows.Networking.Proximity API to exchange small messages during a tap gesture or set up a socket connection between peer apps. The PeerFinder scenario (1) demonstrates how to use the Proximity API to create a socket connection between peer apps on two or more devices by using a tap gesture or by browsing using a wireless radio. The PeerWatcher scenario (2) demonstrates how to dynamically find peer apps as they become visible. The ProximityDevice scenarios (3 and 4) demonstrate how to send small message payloads between two devices during a tap gesture.

This sample requires the use of multiple devices. It uses the PeerFinder class to find peers and connect using StreamSocket. To do this, click "Advertise" (on all devices in range). The PeerFinder will link the devices and provide a StreamSocket so the two devices can communicate. For scenarios that use a tap gesture, each device must have a proximity chip installed.

WindowsFor scenarios that use wireless browsing, each device must have a wireless chip that supports Wi-Fi Direct installed.

Windows PhoneFor scenarios that use wireless browsing, each device must have a wireless chip that supports Bluetooth installed.

WindowsIf you don't have hardware that supports proximity tapping such as Near-Field Communication (NFC) radio, you can use the proximity driver sample that is part of the Windows Driver Kit (WDK) samples. You can use the sample driver to simulate a tap gesture over a network connection between two devices. For info on how to download the WDK, see Windows Driver Kit (WDK). After you have installed the WDK and samples, you can find the proximity driver sample in the src\nfp directory in the location where you installed the WDK samples. See the NetNfpProvider.html file in the src\nfp\net directory for instructions on building and running the simulator. After you start the simulator, it runs in the background while your proximity app is running in the foreground. Your app must be in the foreground for the tap simulation to work.

To obtain an evaluation copy of Windows 8.1, go to Windows 8.1.

To obtain an evaluation copy of Microsoft Visual Studio 2013 Update 2, go to Microsoft Visual Studio 2013.

Note  For Windows 8 app samples, download the Windows 8 app samples pack. The samples in the Windows 8 app samples pack will build and run only on Microsoft Visual Studio 2012.

Related topics

Quickstart: Connecting applications using tapping or browsing (JavaScript)
Quickstart: Connecting applications using tapping or browsing (C#)
Quickstart: Publishing and subscribing to messages using tapping (JavaScript)
Quickstart: Publishing and subscribing to messages using tapping (C#)
Guidelines and checklist for proximity
Windows.Networking.Proximity
StreamSocket

Operating system requirements

Client
Windows 8.1
Server
Windows Server 2012 R2
Phone
Windows Phone 8.1

Build the sample

  1. Start Visual Studio 2013 Update 2 and select File > Open > Project/Solution.
  2. Go to the directory to which you unzipped the sample. Then go to the subdirectory named for the sample and double-click the Visual Studio 2013 Update 2 Solution (.sln) file.
  3. Follow the steps for the version of the sample you want:
    • To build the Windows version of the sample:

      1. Select Proximity.Windows in Solution Explorer.
      2. Press Ctrl+Shift+B, or use Build > Build Solution, or use Build > Build Proximity.Windows.
    • To build the Windows Phone version of the sample:

      1. Select Proximity.WindowsPhone in Solution Explorer.
      2. Press Ctrl+Shift+B or use Build > Build Solution or use Build > Build Proximity.WindowsPhone.

Note  The C# versions of the sample have a CS suffix. For example, the C#-Windows Phone version of the sample is ProximityCS.WindowsPhone.

Run the sample

The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

Deploying the sample

  • To deploy the built Windows version of the sample:

    1. Select Proximity.Windows in Solution Explorer.
    2. Use Build > Deploy Solution or Build > Deploy Proximity.Windows.
  • To deploy the built Windows Phone version of the sample:

    1. Select Proximity.WindowsPhone in Solution Explorer.
    2. Use Build > Deploy Solution or Build > Deploy Proximity.WindowsPhone.

Deploying and running the sample

  • To deploy and run the Windows version of the sample:

    1. Right-click Proximity.Windows in Solution Explorer and select Set as StartUp Project.
    2. To debug the sample and then run it, press F5 or use Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.
  • To deploy and run the Windows Phone version of the sample:

    1. Right-click Proximity.WindowsPhone in Solution Explorer and select Set as StartUp Project.
    2. To debug the sample and then run it, press F5 or use Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.